﻿/**
* @description  Interface for classes that will define drawing methods for skins within a Block.
*/
package com.foed.graphic.skins {

	import com.foed.graphic.StyleFormat;
	
	public interface ISkin {
	
		/**
		* @description	Sets the width and height of skin, forcing a redraw.
		*
		* @param  pWidth  Width of skin.
		* @param  pHeight  Height of skin.
		*/	
		function setSize(pWidth:Number, pHeight:Number):void

		/**
		* @description  Changes the state for the skin, forcing a redraw.
		*
		* @param  pState  The state to change the skin to. Should be constant of SkinStates. 
		*/
		function changeState(pState:String):void

		/**
		* @description	Sets the styleFormat instance to apply to the skin, forcing a redraw.
		*
		* @param  pFormat  Instance of StyleFormat to apply to the skin.
		*/
		function styleElements(pStyleFormat:StyleFormat):void
	
	}

}